package com.core.snowflake.config;

import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * 雪花ID数据中心配置
 */
//@Configuration
@ConfigurationProperties(prefix = "snowflake")
//@ConditionalOnProperty("snowflake.host")
public class SnowFlakeProperties {

    /**
     * 同步中心地址
     */
    private String host;
    /**
     * 命名空间
     */
    private String ns;

    /**
     * 客户端自定义标识
     */
    private String tag;
    /**
     *雪花模式
     *"auto" : 单机默认模式 （1，1）
     * manual : 单机手动模式
     * datacenter :数据中心同步模式
     * redis :数据库同步模式 (注意:全局共用一个redis场景下可用)
     */
    private String type="auto";
    /**
     * 自己是否是数据中心
     * type=selfdatacenter 生效
     */
    //private boolean isselfdatacenter;
    /**
     * 机器ID
     * type=manual 生效
     */
    private Long workerId;
    /**
     * 数据中心ID
     * type=manual 生效
     */
    private Long datacenterId;

    //public boolean isIsselfdatacenter() {
    //    return isselfdatacenter;
   // }

   // public void setIsselfdatacenter(boolean isselfdatacenter) {
   //     this.isselfdatacenter = isselfdatacenter;
   // }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public Long getWorkerId() {
        return workerId;
    }

    public void setWorkerId(Long workerId) {
        this.workerId = workerId;
    }

    public Long getDatacenterId() {
        return datacenterId;
    }

    public void setDatacenterId(Long datacenterId) {
        this.datacenterId = datacenterId;
    }

    public String getHost() {
        return host;
    }

    public void setHost(String host) {
        this.host = host;
    }

    public String getNs() {
        return ns;
    }

    public void setNs(String ns) {
        this.ns = ns;
    }

    public String getTag() {
        return tag;
    }

    public void setTag(String tag) {
        this.tag = tag;
    }
}
